home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FM Towns: Free Software Collection 7
/
FM Towns Free Software Collection 7.iso
/
data
/
nifwtm
/
nifwtm.mac
< prev
Wrap
Text File
|
1993-11-30
|
21KB
|
390 lines
GOTO(START) #
###############################################################################
# ここから動作環境設定域 #
###############################################################################
#巡回フォーラムの設定(記号化) #
###########################################
F01: #
v$="FFMINFO 1 5" #
RETURN #この行は、いじらないで!
F02: #
v$="FFMUSER ALL 20" #
RETURN #この行は、いじらないで!
F03: #
v$="FFMPRO 1,10 5" #
RETURN #この行は、いじらないで!
F04: #
v$="FFMHOB ALL 25" #
RETURN #この行は、いじらないで!
F05: #
v$="FFMAV ALL 10" #
RETURN #この行は、いじらないで!
F11: #
v$="FTOWNS1 1,6,7,10,15,18 10" #
RETURN #この行は、いじらないで!
F12: #
v$="FTOWNS2 7 10" #
RETURN #この行は、いじらないで!
F51: #
v$="FGALWT ALL 30" #
RETURN #この行は、いじらないで!
F81: #
v$="FANTVA 2,4 20" #
RETURN #この行は、いじらないで!
F99: #
v$="FSTAGE 11 30" #
RETURN #この行は、いじらないで!
###########################################
#フォーラム巡回順序の設定 #
###########################################
START: #この行は、いじらないで!
VCLEAR #この行は、いじらないで!
o$="F02,F04,F05" #フォーラム巡回(パターン1)・・・メニュー実行
p$="F11,F12" #フォーラム巡回(パターン2)・・・メニュー実行
q$="F51" #フォーラム巡回(パターン3)・・・メニュー実行
AUTOST: #この行は、いじらないで!
e$="F02,F04,F05,F11,F12,F51" #フォーラム巡回(パターン4)・・・ノンストップ実行
###########################################
#フォーラム巡回のメニューの表現を補足 #
###########################################
r$="・・・FMR関連" #フォーラム巡回(パターン1)の補足
s$="・・・TOWNS関連" #フォーラム巡回(パターン2)の補足
t$="・・・WTERM関連" #フォーラム巡回(パターン3)の補足
###############################################################################
# ここからマクロ実行部 #
###############################################################################
# 使用作業域 a$~z$ #
###############################################################################
IFE(n$,"AUTO") #『ノンストップ走行』?
GOTO(LOGIN) # メニュー処理しない
#
MENU: #前処理(メニュー処理)
CALL(*FIRSTMN) #初メニュー表示処理へ
IFE(b$,"WRITEMAIL") #『メール書込み』?
CALL(*FILEMN) # *メールファイル選択メニュー表示処理へ
IFE(c$,"GOFORUM") #『フォーラム巡回』?
CALL(*FORUMMN) # *フォーラム巡回メニュー表示処理へ
CALL(*ENDMN) #*最終メニュー表示処理へ
VSWITCH(w$) #
CASE("GOFIRST") #『最初のメニューに戻ってやり直す』?
w$="" #
GOTO(MENU) #
END #
#
LOGIN: #ログイン処理
SEND(" P\R") #
WAIT("\010*") #
SEND("C NIF\R") #
WAIT("--->") #サービス名称
SEND("SVC\R") #
WAIT("--->") #ユーザー名
SEND("\I\R") #
WAIT("--->") #パスワード
SEND("\P\R") #
CALL(*MAIL_CK) #*メールチェック処理へ
IFE(i$,"ONMAIL") #『未読メールあり』?
GOTO(MAILON) # メール処理へ
IFE(b$,"WRITEMAIL") #『メール書込みする』?
GOTO(MAILON) # メール処理へ
SEND("SET PAGE OFF\R") #ページ制御を「しない」に設定
WAIT("\010>") #プロンプトを待つ
# SEND("SET MENU OFF\R") #メニュー制御を「しない」に設定
# WAIT("\010>") #プロンプトを待つ
GOTO(FORUMEXE) #上のケース以外だったらメール処理しない
#
MAILON: #メール処理
SEND("SET PAGE OFF\R") #ページ制御を「しない」に設定
WAIT("\010>") #プロンプトを待つ
SEND("MAIL\R") #メールサービスへ移動
WAIT("\010>") #プロンプトを待つ
IFE(i$,"ONMAIL") #『未読メールあり』?
CALL(*MAIL_RD) # *メール読込み処理へ
IFE(b$,"WRITEMAIL") #『メール書込みする』?
CALL(*MAIL_WT) # *メール書込み処理へ
#
FORUMEXE: #
IFE(c$,"GOFORUM") #『フォーラム巡回する』?
CALL(*FORUM) # *フォーラム巡回処理へ
c$="" #
IFE(n$,"AUTO") #『ノンストップ走行』?
GOTO(ENDPROC) # 終了へ
IFE(f$,"ONNIFTY") #『マクロ終了後、NIFTYにとどまる』?
CALL(*NIFTYMN) # *NIFTY行動選択メニューへ
IFE(c$,"GOFORUM") #『フォーラム巡回する』?
GOTO(FORUMEXE) #
#
ENDPROC: #終了処理
VSWITCH(g$) #
CASE("SETOFF") #『回線断する』?
SEND("BYE\R") # LOGOUTする
WAIT("\010*") #
SEND("OFF\R") # 回線を切る
END #
IFE(h$,"ENDWTERM") #『WTERMを終了する』?
QUIT # WTERM終了
#
EXIT: #
EXIT #マクロを終了する
#******************************************************************************
*FIRSTMN: #サブルーチン開始(初メニュー表示)
x$="未読メール読込み+未読メール読込み~メール書込み~フォーラム巡回"
y$="未読メール読込み~メール書込み+やっぱりやめる"
z$="未読メール読込み ~フォーラム巡回"
BELL("300","1") #
SMENU(x$,y$,z$) #メニュー表示
VSWITCH(x$) #
CASE("1") #未読メール読込み?
a$="READMAIL" # 『未読メール読込み』
CASE("2") #メール書込み?
a$="READMAIL" # 『未読メール読込み』
b$="WRITEMAIL" # 『メール書込み』
CASE("3") #フォーラム巡回?
a$="READMAIL" # 『未読メール読込み』
c$="GOFORUM" # 『フォーラム巡回』
CASE("4") #メール書込み~フォーラム巡回?
a$="READMAIL" # 『未読メール読込み』
b$="WRITEMAIL" # 『メール書込み』
c$="GOFORUM" # 『フォーラム巡回』
ELSE #やっぱりやめるorその他?
CALL(*MACEND) # *マクロ終了処理へ
END #
RETURN #
#******************************************************************************
*FILEMN: #サブルーチン開始(メールファイル選択)
GETTXUPD(w$) #テキスト格納ドライブの設定
BELL("100","1") #
INPUTF(d$,w$,"*.TXT") #テキストメニューの表示
IFE(d$,"") #ファイルが指定されなかった
CALL(*MACEND) # *マクロ終了処理へ
RETURN #
#******************************************************************************
*FORUMMN: #サブルーチン開始(フォーラムメニュー表示)
x$="フォーラム巡回(パターン 1)" #
y$="フォーラム巡回(パターン 2)" #
z$="フォーラム巡回(パターン 3)" #
CAT(x$,r$) #
CAT(y$,s$) #
CAT(z$,t$) #
BELL("100","1") #
SMENU(x$,y$,z$) #メニュー表示
VSWITCH(x$) #
CASE("1") #フォーラム巡回(パターン 1)?
e$=o$ #
CASE("2") #フォーラム巡回(パターン 2)?
e$=p$ #
CASE("3") #フォーラム巡回(パターン 3)?
e$=q$ #
ELSE #その他?
CALL(*MACEND) # *マクロ終了処理へ
END #
RETURN #呼出し元に復帰
#******************************************************************************
*ENDMN: #サブルーチン開始(最終メニュー表示)
x$="マクロ実行後、NIFTY にとどまる(回線断しない)+最初のメニューに戻ってやり直す" #
y$="マクロ実行後、回線断+やっぱりや~めた"
z$="マクロ実行後、回線断~WTERM終了"
BELL("100","1") #
SMENU(x$,y$,z$) #メニュー表示
VSWITCH(x$) #
CASE("1") #NIFTYにとどまる?
f$="ONNIFTY" #
CASE("2") #回線断?
g$="SETOFF" #
CASE("3") #回線断~WTERM終了?
g$="SETOFF" #
h$="ENDWTERM" #
CASE("4") #最初のメニューに戻ってやり直す?
w$="GOFIRST" #
a$="" # 未読フラグのクリア
b$="" # 書込みフラグのクリア
c$="" # フォーラム巡回フラグのクリア
d$="" # メールファイルのクリア
e$="" # 巡回フォーラムのクリア
ELSE #やっぱりや~めたorその他?
CALL(*MACEND) # *マクロ終了処理へ
END #
RETURN #呼出し元に復帰
#******************************************************************************
*NIFTYMN: #サブルーチン開始(NIFTY行動選択)
x$="自分でバンバンする(コマンドモードに戻る)+フォーラム巡回(パターン 1)"
y$="回線断+フォーラム巡回(パターン 2)" #
z$="回線断~WTERM終了+フォーラム巡回(パターン 3)"
CAT(x$,r$) #
CAT(y$,s$) #
CAT(z$,t$) #
BELL("300","1") #
SMENU(x$,y$,z$) #メニュー表示
VSWITCH(x$) #
CASE("1") #自分でバンバンする?
# SEND("SET MENU ON\R") #メニュー制御を「する」に設定
EXIT # マクロ終了
CASE("2") #回線断?
g$="SETOFF" #
CASE("3") #回線断~WTERM終了?
g$="SETOFF" #
h$="ENDWTERM" #
CASE("4") #フォーラム巡回(パターン 1)?
c$="GOFORUM" #
e$=o$ #
CASE("5") #フォーラム巡回(パターン 2)?
c$="GOFORUM" #
e$=p$ #
CASE("6") #フォーラム巡回(パターン 3)?
c$="GOFORUM" #
e$=q$ #
ELSE #その他?
EXIT # マクロ終了
END #
RETURN #呼出し元に復帰
#******************************************************************************
*MACEND: #サブルーチン開始(マクロ終了)
BELL("100","2","50") #
COLOR(12) #
PRINTCR("マクロを中止します!!")#
OFF #回線切断、マクロ中止
#******************************************************************************
*MAIL_CK: #サブルーチン開始(メールチェック)
SWITCH #
CASE("(未読分") #未読のメールがあれば
i$="ONMAIL" # 『未読メールあり』とする
WAIT("\010>") # プロンプトを待つ
CASE("\010>") #未読のメールがなければ
i$="NOMAIL" # 『未読メールなし』とする
END #
RETURN #
#******************************************************************************
*MAIL_RD: #サブルーチン開始(メール読み込み)
LOGOPEN("MAIL") #LOGファイルオープン
SEND("READ NEW\R") #未読のメールを一度に読む
LOOP: #
SWITCH #
CASE("終了)\013\010:") #受信後のプロンプトを検出したら
SEND("2\R") # 「2:保存」を選択
CASE("終了)\013\010>") #すべてのメールを読み終えたら
GOTO(EXIT_RD) # 後処理へ
END #
GOTO(LOOP) #処理を繰り返す
EXIT_RD: #
LOGCLOSE #LOGファイルクローズ
RETURN #呼出し元に復帰
#******************************************************************************
*MAIL_WT: #サブルーチン開始(メール書込み)
SEND("2\R") #「2:送信」を選択
WAIT("/E)\013\010") #送信可能となるまで待つ
UPTEXT(3,d$) #超高速テキスト送信
WAIT("終了)\013\010>") #送信終了
RETURN #呼出し元に復帰
#******************************************************************************
*FORUM: #サブルーチン開始(フォーラム巡回)
PICKWORD(j$,e$,",") #フォーラムラベルの切り出し
IFE(j$,"") #フォーラムの巡回終了?
RETURN #呼出し元に復帰
CALL(j$) #*フォーラム情報の取出し
PICKWORD(k$,v$,"") #フォーラム名の切り出し(k$)
SEND("GO ") #
SEND(k$) #
SEND("\R") #指定フォーラムにジャンプ
WAIT("\010>") #
SEND("3\R") #電子会議に入る
WAIT("\010>") #
CAT(k$,".NIF") #
IF<>(u$,"RCALL") #未読を0処理でない?
LOGOPEN(k$) # LOGオープン
w$="" #
PICKWORD(l$,v$,"") #会議室群の切り出し (l$)
ROOM: # 残ったのは読出し数(v$)
PICKWORD(m$,l$,",") #会議室の切り出し (m$)
#
VSWITCH(u$) #フォーラム巡回(既読処理)
CASE("RCALL") # 未読0処理?
IFE(m$,"") # 会議室の巡回終了?
GOTO(*FORUM) # 次のフォーラムへ
VSWITCH(m$) #
CASE("ALL") # ALL 指定?
BELL("100","2","50") #
COLOR(2) #
PRINTCR("会議室が ALL 指定なので既読処理はできません")
GOTO(*FORUM) # 次のフォーラムへ
END #
CAT(w$,m$) #
SEND(w$) #
SEND("\R") # 会議室へ
WAIT("\010>") # プロンプトを待つ
SEND("RC ALL\R") # 未読0に設定
WAIT("\010>") # プロンプトを待つ
w$="RX " #
GOTO(ROOM) # 次の会議室へ
END #
#
VSWITCH(m$) #フォーラム巡回(未読処理)
CASE("") #会議室の巡回終了?
LOGCLOSE # LOGクローズ
GOTO(*FORUM) # 次のフォーラムへ
END #
SEND("MREAD ROOM:") #
SEND(m$) #
SEND(" LIMIT:") #
SEND(v$) #
SEND("\R") #会議内容の読込み
PROMPT: #
WAIT("\010>","2",PROMPT) #プロンプトを待つ
GOTO(ROOM) #次の会議室へ
#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@AUTO1: #特殊処理(処理1ノンストップ)
VCLEAR #
BELL("200","1") #
PRINTCR("☆メールの未読処理 を行います☆")
a$="READMAIL" #『未読メール読込み』
g$="SETOFF" #『回線断』
h$="ENDWTERM" #『WTERM終了』
n$="AUTO" #『ノンストップ走行』
GOTO(AUTOST) #本処理へ
#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@AUTO2: #特殊処理(処理2ノンストップ)
VCLEAR #
BELL("200","1") #
PRINTCR("☆メールの未読処理~メールの書込み処理 を行います☆")
a$="READMAIL" #『未読メール読込み』
b$="WRITEMAIL" #『メール書込み』
d$="MAIL.TXT" #書込みMAILファイルの設定
g$="SETOFF" #『回線断』
h$="ENDWTERM" #『WTERM終了』
n$="AUTO" #『ノンストップ走行』
GOTO(AUTOST) #本処理へ
#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@AUTO3: #特殊処理(処理3全自動)
VCLEAR #
BELL("200","1") #
PRINTCR("☆メールの未読処理~フォーラム巡回(未読処理)を行います☆")
a$="READMAIL" #『未読メール読込み』
c$="GOFORUM" #『フォーラム巡回』
g$="SETOFF" #『回線断』
h$="ENDWTERM" #『WTERM終了』
n$="AUTO" #『ノンストップ走行』
GOTO(AUTOST) #本処理へ
#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@AUTO4: #特殊処理(処理4全自動)
VCLEAR #
BELL("200","1") #
PRINTCR("☆メールの未読処理~メールの書込み処理~フォーラム巡回(未読処理)を行います☆")
a$="READMAIL" #『未読メール読込み』
b$="WRITEMAIL" #『メール書込み』
c$="GOFORUM" #『フォーラム巡回』
d$="MAIL.TXT" #書込みMAILファイルの設定
g$="SETOFF" #『回線断』
h$="ENDWTERM" #『WTERM終了』
n$="AUTO" #『ノンストップ走行』
GOTO(AUTOST) #本処理へ
#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@AUTO5: #特殊処理(フォーラムを既読にする)
VCLEAR #
BELL("200","1") #
PRINTCR("☆メールの未読処理~フォーラム巡回(既読処理)を行います☆")
a$="READMAIL" #『未読メール読込み』
c$="GOFORUM" #『フォーラム巡回』
g$="SETOFF" #『回線断』
h$="ENDWTERM" #『WTERM終了』
n$="AUTO" #『ノンストップ走行』
u$="RCALL" #『未読を0に』
GOTO(AUTOST) #本処理へ